<?php
class fDelNews extends aFeature 
{

  public function __construct() 
  {
    $this->_acl = new AccessControlList();
    // $this->_acl->setGranted(3);
    $this->_acl->setGranted(7);
  }

  public static function getTocEntry()
  {
    return "Supprimer une news";
  }

  public static function getRealName() 
  {
    return "Interface de suppression des news";
  }

  public static function getSemantic()
  {
    return "Cette fonction permet de supprimer les news présente dans le système";
  }

  protected function run() 
  {
    $id = PropRetriever::getProp($_GET,"id");
    if( $id == "")
      return $this->displayAll();
    else
      return $this->deleteNews($id);
  }

  private function displayAll($text="")
  {
    $page = "<h1> Supprimer une news ... </h1>";
    $page .= $text;
    $page .= News::showResult(News::lookFor(Login::seasonChoosen()),true);
    return $page;
  }

  private function deleteNews($id)
  {
    $aNews = News::read($id);
    try {
      $aNews->delete();
    } catch(Exception $e) {}
    $text = <<<EOS
<h2> Votre demande est prise en compte </h2>
<p> La news que vous avez selectionée a été supprimée du système d'information. Elle disparaitra du site externe lors de la prochaine synchronisation.</p><!--'-->
EOS;
    return $this->displayAll($text);
  }

}
?>